package mysql.v1;

import java.sql.*;

/**
 * JDBC 增删改操作  CUD
 * JDBC 查询操作    R    --->MysqlJDBCV1
 */
public class MysqlJDBCV1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.注册驱动-链接对应数据库--Mysql5.5驱动器
        Class.forName("com.mysql.jdbc.Driver");
        //2.准备工作：用户名、密码、url--Java字符串
        String username="root";
        String password="";
        String url="jdbc:mysql://127.0.0.1:3306/mi?characterEncoding=UTF-8";
        //3.链接数据库--DriverManager.getConnection();
        //  链接成功---返回Connection对象：表示Java与数据库连接成功
        Connection con=
                DriverManager.getConnection(url,username,password);
        //打桩：测试数据库  是否连接成功，连接成功烦恼会Connection对象
        System.out.println("测试是否连接成功:"+con);

        //4.执行sql【查询】
        //4.1 Mysql  有库 mi 设置编码集  有表，切记：commit 数据入库
        //4.2 Java  执行sql【字符串查询】
        String sql="select * from book";
        //4.3 Java    执行sql查增改删--链接成功数据库
        //Statement执行sql    查操作   executeQuery(sql);
        //                           返回值：ResultSet 结果值
        //Statement执行sql    增删改操作   executeUpdate(sql);
        //                              返回值：int，记录成功多少条
        Statement st=con.createStatement();
        //ResultSet结果集保存表中所有数据
        ResultSet rs=st.executeQuery(sql);
        //5  查询【book表】ResultSet  对象提供 next()  依次获取字段下记录【数据】
        //book表--字段7个--while 循环拿所有字段以及记录数
        // 看数据--ResultSet结果集--取--字段下记录
        while(rs.next()){  // 依次取出数据库中 book表所有字段：7个
              //显示字段下记录
               //getInt() 取出数据库中 int类型的字段
               // mysql   int类型  Java int类型
               int id=rs.getInt("id");
               // mysql varchar类型 Java String类型
               String author=rs.getString("author");
               String name=rs.getString("name");
               int price=rs.getInt("price");
               String date=rs.getString("date");
               int number=rs.getInt("number");
               String discount=rs.getString("discount");
               //打桩:显示多少作者
               System.out.println(name);
        }
    }
}
